Repository navigation
jetson h265: encoder - #1451
Open
stephen-derosa wants to merge 3 commits into
Open
jetson h265: encoder#1451stephen-derosa wants to merge 3 commits into
stephen-derosa wants to merge 3 commits into
Conversation
Contributor
Changeset ✓This PR includes a changeset covering all affected packages:
|
Contributor
There was a problem hiding this comment.
Devin Review found 2 potential issues.
2 flags not posted on this PR by your GitHub settings — view them in Devin Review. (Configure)
stephen-derosa
force-pushed
the
sderosa/jetson-h265
branch
from
October 19, 2026 20:46
6a979bf to
975a9ea
Compare
stephen-derosa
added a commit
that referenced
this pull request
Oct 20, 2026
Address review on #1451: - List pass-through-only codecs in GetImplementations(), last and untagged. libwebrtc only sends a negotiated codec that appears there, so pre-encoded H265 on a host without an H265 encoder failed with "No video codecs in common". A raw sender that still lands on such a codec fails encoder creation and libwebrtc falls back to another negotiated codec. - Settle a video track's codec in LocalParticipant before AddTrackRequest: a raw sender whose codec no local encoder produces publishes VP8, so the server, encodings, and republish agree with what is sent. create_sender no longer falls back to an empty preference list, which offered pass-through-only codecs to raw senders. - Replace the leaked process-wide query factory with PeerConnectionFactory::video_encoder_codecs, which queries the encoder factory the peer connection factory owns, and add a repeated create/query/drop test asserting the native factory is destroyed. - Add livekit-capture to the changeset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
stephen-derosa
force-pushed
the
sderosa/jetson-h265
branch
from
October 20, 2026 18:16
0822d8b to
0deafac
Compare
stephen-derosa
added a commit
that referenced
this pull request
Oct 20, 2026
Address review on #1451: - List pass-through-only codecs in GetImplementations(), last and untagged. libwebrtc only sends a negotiated codec that appears there, so pre-encoded H265 on a host without an H265 encoder failed with "No video codecs in common". A raw sender that still lands on such a codec fails encoder creation and libwebrtc falls back to another negotiated codec. - Settle a video track's codec in LocalParticipant before AddTrackRequest: a raw sender whose codec no local encoder produces publishes VP8, so the server, encodings, and republish agree with what is sent. create_sender no longer falls back to an empty preference list, which offered pass-through-only codecs to raw senders. - Replace the leaked process-wide query factory with PeerConnectionFactory::video_encoder_codecs, which queries the encoder factory the peer connection factory owns, and add a repeated create/query/drop test asserting the native factory is destroyed. - Add livekit-capture to the changeset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
stephen-derosa
force-pushed
the
sderosa/jetson-h265
branch
from
October 21, 2026 18:07
0deafac to
aee9cb3
Compare
stephen-derosa
marked this pull request as ready for review
October 21, 2026 20:26
stephen-derosa
marked this pull request as draft
October 21, 2026 21:03
stephen-derosa
marked this pull request as ready for review
October 26, 2026 15:07
stephen-derosa
force-pushed
the
sderosa/jetson-h265
branch
from
October 26, 2026 15:07
a3f0466 to
4c14ea6
Compare
stephen-derosa
force-pushed
the
sderosa/jetson-h265
branch
from
October 26, 2026 16:22
4c14ea6 to
026c0b3
Compare
Address review on #1451: - List pass-through-only codecs in GetImplementations(), last and untagged. libwebrtc only sends a negotiated codec that appears there, so pre-encoded H265 on a host without an H265 encoder failed with "No video codecs in common". A raw sender that still lands on such a codec fails encoder creation and libwebrtc falls back to another negotiated codec. - Settle a video track's codec in LocalParticipant before AddTrackRequest: a raw sender whose codec no local encoder produces publishes VP8, so the server, encodings, and republish agree with what is sent. create_sender no longer falls back to an empty preference list, which offered pass-through-only codecs to raw senders. - Replace the leaked process-wide query factory with PeerConnectionFactory::video_encoder_codecs, which queries the encoder factory the peer connection factory owns, and add a repeated create/query/drop test asserting the native factory is destroyed. - Add livekit-capture to the changeset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
stephen-derosa
force-pushed
the
sderosa/jetson-h265
branch
from
October 27, 2026 16:18
026c0b3 to
d0c2e83
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Enable pre-encoded H265 publishing on hosts without a local H265 encoder, including forwarding encoded video from USB cameras. Raw LiveKit senders fall back to VP8 when the requested codec cannot be encoded locally.
Replace the leaked codec-query factory with queries through the existing peer connection factory. Document backend and codec-preference configuration for direct libwebrtc consumers.
Testing